package com.shenda.device.analysis;

import java.io.File;

/**
 * 指标分析
 * 
 * @author lifeng
 */
public interface Analysis {

	/**
	 * 分析文件目录
	 * 
	 * @return
	 */
	File getAnalysisFile();

	/**
	 * 分析数据
	 * 
	 * @param data 数据文件
	 */
	AnalysisResult doAnalysis(AnalysisQuery query);

	/**
	 * 采集模式
	 * 
	 * @param cjms
	 * @param file
	 */
	static Analysis newAnalysis(String cjms, String file) {
		try {
			if ("03".equals(cjms)) {
				return new Cjms_03_Analysis(file);
			} else if ("02".equals(cjms)) {
				return new Cjms_02_Analysis(file);
			} else if ("01".equals(cjms)) {
				return new Cjms_01_Analysis(file);
			}
		} catch (Exception e) {
		}
		return None_Analysis.INSTANCE;
	}

	/**
	 * 采集模式
	 * 
	 * @param cjms
	 * @param file
	 */
	static Analysis newAnalysis(String cjms, File file) {
		try {
			if ("03".equals(cjms)) {
				return new Cjms_03_Analysis(file);
			} else if ("02".equals(cjms)) {
				return new Cjms_02_Analysis(file);
			} else if ("01".equals(cjms)) {
				return new Cjms_01_Analysis(file);
			}
		} catch (Exception e) {
		}
		return None_Analysis.INSTANCE;
	}
}